Consulta de Guías Docentes



Academic Year/course: 2023/24

439 - Bachelor's Degree in Informatics Engineering

30237 - Multiprocessors


Syllabus Information

Academic year:
2023/24
Subject:
30237 - Multiprocessors
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
3
Semester:
Second semester
Subject type:
---
Module:
---

1. General information

 

This subject completes the knowledge in the Degree in Computer Engineering related to the organization and architecture of computers in the context of Computer Engineering. The exploitation of parallelism, both vector and spatial (multiple processors) is in fact the basic lever of all complex digital systems in society: from cell phones to supercomputers, to all kinds of embedded systems, tablets, laptops, desktop computers or data center servers. To this end, we will cover the following contents:

  • Present simple code analysis techniques to determine if data parallelism exists.

  • Present a vector processor design (organization) that exploits this data parallelism.

  • Flynn's taxonomy. Classification of organizations according to their ability to exploit parallelism.

  • Analyze and understand the basic building blocks of modern shared-memory multiprocessor design: interconnection network, synchronization, memory model or consistency and coherence model.

 

Subject requirements

To take this subject it is recommended to have taken the following subjects: Computer Architecture and Organization 1 and 2; Concurrent and Distributed Systems Programming; and Operating Systems.

This subject does not explicitly work on or evaluate any of the Sustainable Development Goals, SDGs, included in the 2030 Agenda (https://www.un.org/sustainabledevelopment/es/)



2. Learning results

 

  • Know the multiprocessor families, identify the main components of a multiprocessor and its functions. Understand coherence and consistency problems and their basic solutions. Get to know the theory and the practice of automatic parallelism extraction.

  • Know the organization of commercial multiprocessors, both on-chip and multi-module or multi-board, especially with regard to memory and interconnection network.

  • Program simple, but multiprocessor-aware algorithms using a multiprocessor programming standard.

 

3. Syllabus

 

Module I: Segmented Vector Processors: supercomputers

1. Introduction. Parallelism

2. Vector extension of an ld/st architecture

3. Two programming aspects: vector length and vector Stride

4. Memory bank access conflicts

5. DLXV architecture: complete repertoire of instructions

6. Vector compilation = automatic extraction of vector operations

7. Final considerations: Amdahl's Law

8. Commercial Vector Processors

 

Module II: Shared Memory Multiprocessors 

1. Classification of parallel computers according to M.J. Flynn

2. Objectives and problems of MIMD machines

3. H.S. Stone's simple model for partitioning processes to processors

4. Shared Memory Multiprocessors. Overview

5. Interconnection network

6. Synchronization Mechanisms

7. Parallel compilation

8. The problem of consistency

9.  The memory model

10.  Diffusion-based consistency protocols

11. Multilevel cache hierarchy

12. Directory-based consistency protocols

13- Examples of current chips with more than one processor (core)

 

4. Academic activities

 

The subject is made up of lectures, problem classes, laboratory practices and non-classroom practical work.

The detailed calendar of the various activities to be carried out will be established once the University has approved the academic calendar for the corresponding academic year. In any case, the dates of the different activities will be announced well in advance on the support platform for face-to-face teaching Moodle 2 of the Digital Ring Docente (http://add.unizar.es) of the University.



5. Assessment system

 

The assessment will consist of:

  • Theory and problems exam (80 - 100 points)
  • Practice exam (0-20 points)
    • Optionally, throughout the subject, students can hand in non-classroom work and solved scripts of laboratory. They will be counted in this part of the exam.

In order to pass the subject, students must obtain at least 50 points out of the total.

The delivery of the results of laboratory practices and practical work will be done coinciding with the dates scheduled for the exam in each call.

 

 


Curso Académico: 2023/24

439 - Graduado en Ingeniería Informática

30237 - Multiprocesadores


Información del Plan Docente

Año académico:
2023/24
Asignatura:
30237 - Multiprocesadores
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
439 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
3
Periodo de impartición:
Segundo semestre
Clase de asignatura:
---
Materia:
---

1. Información básica de la asignatura

Esta asignatura completa los conocimientos en el Grado en Ingeniería Informática relativos a la organización y arquitectura de computadores en el contexto de la Ingeniería de Computadores. La explotación del paralelismo, tanto vectorial como espacial (múltiples procesadores) es de hecho la palanca básica de todos los sistemas digitales complejos en la sociedad: desde los teléfonos móviles a los supercomputadores, pasando por todo tipo de sistemas empotrados, tablets, laptops, ordenadores de sobremesa o servidores de centros de datos. Para ello trataremos los siguientes contenidos:

  • Presentar técnicas sencillas de análisis de código para determinar si existe paralelismo de datos.
  • Presentar un diseño de procesador vectorial (organización) que explote este paralelismo de datos.
  • Taxonomía de Flynn. Clasificación de organizaciones de acuerdo a su capacidad para explotar el paralelismo.
  • Analizar y comprender los bloques básicos que fundamentan el diseño de multiprocesadores de memoria compartida modernos: red de interconexión, sincronización, modelo de memoria o modelo de consistencia y coherencia.

Requisitos de la asignatura
Para cursar esta asignatura se recomienda haber cursado las asignaturas: Arquitectura y Organización de Computadores 1 y 2; Programación de Sistemas Concurrentes y Distribuidos; y Sistemas Operativos.

Esta asignatura no trabaja ni evalúa de manera explícita ninguno de los Objetivos de Desarrollo Sostenible, ODS, incluidos
en la Agenda 2030 (https://www.un.org/sustainabledevelopment/es/)

2. Resultados de aprendizaje

  • Conoce las familias de multiprocesadores, identifica los componentes principales de un multiprocesador y sus funciones. Entiende los problemas de coherencia y consistencia y sus soluciones básicas. Conoce la teoría y la práctica de la extracción automática de paralelismo.
  • Conoce la organización de multiprocesadores comerciales, tanto los integrados en un chip como los formados por varios módulos o placas, especialmente en lo relativo a la memoria y la red de interconexión.
  • Programa algoritmos sencillos, pero conscientes de la organización del multiprocesador, mediante algún estándar de programación para multiprocesadores.

3. Programa de la asignatura

Módulo I: Procesadores Vectoriales Segmentados: supercomputadores

1. Introducción. El paralelismo

2. Extensión vectorial de una arquitectura ld/st

3. Dos aspectos de programación: vector length y vector Stride

4. Conflictos en el acceso a bancos de memoria

5. Arquitectura DLXV: repertorio completo de instrucciones

6. Compilación vectorial = extracción automática de operaciones vectoriales

7. Consideraciones finales: Ley de Amdahl

8. Procesadores Vectoriales Comerciales

Módulo II: Multiprocesadores Memoria Compartida

1. Clasificación de computadores paralelos según M.J. Flynn

2. Objetivos y problemas de las máquinas MIMD

3. Modelo sencillo de H.S. Stone para repartir procesos en procesadores

4. Multiprocesadores de Memoria compartida. Visión general

5. Red de interconexión

6. Mecanismos de Sincronización

7. Compilación paralela

8. El problema de la coherencia

9. El modelo de memoria

10. Protocolos de coherencia basados en difusión

11. Jerarquía de caches multinivel

12. Protocolos de coherencia basados en directorio

13. Ejemplos de chips actuales con más de un procesador (core)

4. Actividades académicas

La asignatura se compone de clases magistrales, clases de problemas, prácticas de laboratorio y trabajo práctico no
presencial.

El calendario detallado de las diversas actividades a desarrollar se establecerá una vez que la Universidad haya aprobado el
calendario académico del curso correspondiente. En cualquier caso, las fechas de las diferentes actividades serán
anunciadas con suficiente antelación en la plataforma de apoyo a la enseñanza presencial Moodle 2 del Anillo Digital
Docente (http://add.unizar.es) de la Universidad.

5. Sistema de evaluación

La evaluación constará de dos partes:

  • Examen de teoría y problemas (80 - 100 puntos)
  • Examen de prácticas (0-20 puntos)
    • Opcionalmente, a lo largo del curso, los alumnos pueden entregar trabajos no presenciales y guiones de laboratorio resueltos. Serán contabilizados en esta parte del examen.

Para superar la asignatura los alumnos deberán obtener al menos 50 puntos sobre el total.

La entrega de resultados de prácticas de laboratorio y trabajo práctico no presencial se realizará coincidiendo con las fechas
programadas para examen en cada convocatoria.